本发明适用于计算机领域,提供了一种补丁文件的自动合并方法、装置及通信终端,所述方法包括步骤:判断待合并的多个补丁文件的类型;根据所述待合并的多个补丁文件的类型,采用相应的比较算法,获取保留的补丁文件;将所述获取的保留的补丁文件重新打包为一个新的补丁。本发明对多个补丁中的补丁文件执行操作,仅保留相同补丁文件中的一个补丁文件,并将所有保留下来的补丁文件重新打包为一个新的补丁,有效减少补丁的文件数量,节省了用户下载、安装补丁的时间。
1.一种补丁文件的自动合并方法,其特征在于,所述方法包括步骤:判断待合并的多个补丁文件的类型;根据所述待合并的多个补丁文件的类型,采用相应的比较算法,获取保留的补丁文件;所述比较算法为:根据补丁文件的信息摘要值MD5判断补丁文件是否相同,在补丁文件相同时,根据补丁文件的修改时间,保留被最后修改的补丁文件,或,根据补丁文件的版本,保留最新版本的补丁文件,或,根据预置的逻辑优先顺序,保留优先级最高的补丁文件;将所述获取的保留的补丁文件重新打包为一个新的补丁,所述新的补丁用于修补相应的应用程序。
2.如权利要求1所述的方法,其特征在于,在所述判断待合并的多个补丁文件的类型的步骤之前,所述方法还包括如下步骤:获取待合并的多个补丁,并根据所述获取的多个补丁的压缩规则,解压所述补丁。
3.如权利要求1所述的方法,其特征在于,所述将所述获取的保留的补丁文件重新打包为一个新的补丁的步骤具体为:将获取的保留的补丁文件存储在一个目录中;重新打包所述目录下的补丁文件。
4.如权利要求1所述的方法,其特征在于,在将所述获取的保留的补丁文件重新打包为一个新的补丁的步骤之前,所述方法还包括下述步骤:根据补丁中辅助文件类型的不同,配置不同的处理方法接口。
5.一种补丁文件的自动合并装置,其特征在于,所述装置包括:判断文件类型单元,用于判断待合并的多个补丁文件的类型;获取保留补丁文件单元,用于根据所述待合并的多个补丁文件的类型,采用相应的比较算法,获取保留的补丁文件;所述比较算法为:根据补丁文件的信息摘要值MD5判断补丁文件是否相同,在补丁文件相同时,根据补丁文件的修改时间,保留被最后修改的补丁文件,或,根据补丁文件的版本,保留最新版本的补丁文件,或,根据预置的逻辑优先顺序,保留优先级最高的补丁文件;打包补丁单元,用于将所述获取的保留的补丁文件重新打包为一个新的补丁,所述新的补丁用于修补相应的应用程序。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:解压补丁单元,用于获取待合并的多个补丁,并根据所述获取的多个补丁的压缩规则,解压所述补丁。
7.如权利要求5所述的装置,其特征在于,所述打包补丁单元还包括:存储补丁单元,用于将获取的保留的补丁文件存储在一个目录中;打包目录单元,用于重新打包所述目录下的补丁文件。
8.如权利要求5所述的装置,其特征在于,所述装置还包括:配置接口单元,用于根据补丁中辅助文件类型的不同,配置不同的处理方法接口。
9.一种包含权利要求5至8任一项补丁文件的自动合并装置的通信终端。
技术领域本发明属于计算机领域,尤其涉及一种补丁文件的自动合并方法、装置及通信终端。
背景技术补丁是指在原有软件的基础上,以解决软件在使用过程中暴露出来的问题为目标的修补程序。大型软件在发行之后仍会存在很多缺陷,而每一个缺陷都需要安装一个相对应的补丁以使软件更加完美。现有技术中,当发现软件的缺陷时,按照补丁出现的时间顺序逐个安装。如果需要安装的补丁很多,而安装的补丁中可能存在多个相同的文件,一个一个安装使得安装时间过长,整个安装的时间可能会超过几个小时。
发明内容本发明实施例的目的在于提供一种补丁文件自动合并的方法,旨在解决安装多个具有相同补丁文件的补丁时,导致的用户下载、安装补丁时间过长的问题。本发明实施例是这样实现的,一种补丁文件自动合并的方法,所述方法包括:判断待合并的多个补丁文件的类型;根据所述待合并的多个补丁文件的类型,采用相应的比较算法,获取保留的补丁文件;将所述获取的保留的补丁文件重新打包为一个新的补丁,所述新的补丁用于修补相应的应用程序。本发明实施例的另一目的在于提供一种补丁文件的自动合并装置,所述装置包括:判断文件类型单元,用于判断待合并的多个补丁文件的类型;获取保留补丁文件单元,用于根据所述待合并的多个补丁文件的类型,采用相应的比较算法,获取保留的补丁文件;打包补丁单元,用于将所述获取的保留的补丁文件重新打包为一个新的补丁,所述新的补丁用于修补相应的应用程序。本发明实施例的另一目的在于提供包含上述补丁文件的自动合并装置的通信终端。本发明实施例中,对多个补丁中的补丁文件执行操作,仅保留其中的一个补丁文件,并将所有保留下来的补丁文件重新打包为一个新的补丁,有效减少补丁的文件数量,节省了用户下载、安装补丁的时间。
附图说明图1是本发明实施例提供的自动合并补丁的方法流程;图2是本发明实施例提供的自动合并补丁装置的结构;图3是本发明实施例提供的自动合并补丁装置的结构。
具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明通过获取多个补丁中的文件类型,并根据文件类型采用相应的比较算法,选择需要保留的补丁文件,并将保留下来的所有补丁文件重新打包为一个新的补丁。本发明提供了一种补丁文件的自动合并方法、装置及通信终端:所述方法包括:判断待合并的多个补丁文件的类型;根据所述待合并的多个补丁文件的类型,采用相应的比较算法,获取保留的补丁文件;将所述获取的保留的补丁文件重新打包为一个新的补丁。所述装置包括:判断文件类型单元,用于判断待合并的多个补丁文件的类型;获取保留补丁文件单元,用于根据所述待合并的多个补丁文件的类型,采用相应的比较算法,获取保留的补丁文件;打包补丁单元,用于将所述获取的保留的补丁文件重新打包为一个新的补丁。所述通信终端包括:包含上述补丁文件的自动合并装置的通信终端。本发明实施例中,对多个补丁中的补丁文件执行操作,多个相同补丁文件仅保留一个补丁文件,并将所有保留下来的补丁文件重新打包为一个新的补丁,有效减少补丁的文件数量,节省了用户下载、安装补丁的时间。
实施例一:图1示出了本发明实施例提供的补丁文件的自动合并方法流程,详述如下:在步骤S11中,判断待合并的多个补丁文件的类型;通常每个类型的补丁文件在文件名称、文件格式、文件内容均有相应的规范,如:动态链接库(Dynamicxa0l
inkxa0Library,DLL)是一个包含可由多个程序同时使用的代码和数据的库,使用后缀名dll进行标记,标记为dll的文件不是一个可执行的文件;而按照Javaxa0Achieve格式的Javaxa0Achieve文件使用后缀名jar标记为jar文件,标记为jar的文件是一个压缩文件,是许多信息封装后形成的捆绑体。根据补丁文件的文件名称、文件格式、文件内容等属性判断该补丁文件的类型。判断补丁文件的名称与哪个文件类型的名称要求相符,并将与文件名称要求相符的补丁文件,记录为该类型的补丁文件。进一步地,继续判断符合文件名称要求的补丁文件是否与该类型的文件格式要求相符,并将相符的补丁文件,记录为该类型的补丁文件。进一步地,继续判断符合上述要求的补丁文件是否与该类型的文件内容要求相符,并将相符的补丁文件,记录为同一类型的补丁文件。进一步地,也可以按照平台判断补丁文件所属的类型,如将基于Java平台的补丁文件记录为jar文件。此外,也可以根据某一文件类型所具有的特点,预设条件判断补丁文件是否属于该类文件,并将符合预设条件的补丁文件记录为该类型。以微软发布的Hotfix系统补丁为例,Hotfix是微软专门针对某一个具体的系统漏洞或安全问题而发布的解决程序,其文件名称的格式一般为“产品名-KBXXXXXX-处理器平台-语言版本.exe”。其中,程序名为Win2K-KB835732-X86-CH.exe的Hotfix文件是专门针对震荡波病毒而发布的。由此可知,当一个补丁文件的命名格式与Hotfix文件的命名格式相同时,可以判断该补丁文件为Hotfix文件。在步骤S12中,根据待合并的多个补丁文件的类型,采用相应的比较算法,获取保留的补丁文件;每个补丁包含有多个补丁文件,而同一个补丁文件可能存在于多个补丁中,判断补丁中是否存在相同的补丁文件,可以通过补丁文件的信息摘要值(Message-Digestxa0Algorithm5,MD5)判断,如果两个补丁文件的MD5值相同,说明这两个补丁文件是相同的补丁文件。其中,补丁文件的MD5值是根据该补丁文件的二进制数据计算得到。为了避免对同一个补丁文件都执行相同的操作,可以去掉多余的补丁文件,仅保留多个相同补丁文件中的一个补丁文件。对相同的补丁文件,根据它们文件类型的不同,采用不同的算法决定是否保留该补丁文件。该算法可以为,按照补丁文件修改时间的先后决定是否保留该补丁文件,比如,保留最后一次修改的补丁文件,删掉修改时间在该文件之前的补丁文件。也可以先从补丁文件中获取信息,再根据该信息决定是否应该保留该补丁文件,比如windows系统在生成dll文件时会加上一些信息,如所属的版本、公司、时间等,此方法还适用于基于Java平台的补丁文件,jar文件。由于在日常的使用过程中,附加的版本信息等一般是不改变的,针对这类补丁文件,可以通过比较补丁文件的版本、时间等信息决定该补丁文件是否需要保留。除此之外,如果附加的信息是自己定义的,则根据附加信息的内容选择比较的算法,决定该补丁文件的去留。也可以按照指定的逻辑优先顺序决定补丁文件是否保留,比如,保留优先级最高的补丁文件,去掉优先级低的补丁文件。进一步地,比较各个补丁文件之后,得到所有需要保留的补丁文件列表,该补丁文件列表保存了需要保留的补丁文件信息,根据补丁文件列表中存储的保留的补丁文件信息,从各个补丁中将需要保留的补丁文件复制到一个临时目录中。进一步地,对该临时目录进行打包处理,为将保留下来的补丁文件打包成一个新的补丁做准备。在步骤S13中,将获取的保留的补丁文件重新打包为一个新的补丁。去掉多余的补丁文件之后,将各个补丁中保留下来的补丁文件一起打包成一个新的补丁。打包过程中应注意使各个补丁文件的格式与合并补丁前,其存在于原补丁中的格式相同。本发明实施例中,对多个补丁中的补丁文件执行操作,同一个补丁文件中仅保留一个补丁文件,并将保留下来的补丁文件重新打包为一个新的补丁,有效减少补丁文件的数量,节省了用户下载、安装补丁的时间。作为本发明的一个实施例,在获取补丁文件类型前,应该先获取将要合并的多个补丁,再根据相应的解压规则解压获取的补丁,解压补丁后得到相应的补丁文件,最后判断补丁文件的类型。这是因为公司为了更方便用户从网络上下载补丁,通常会将补丁中多个不同类型的文件压缩为一个补丁。公司不同,采用的压缩方式也不同,常见的压缩方式有zip,gz,exe等,如微软公司操作系统的补丁为exe文件。本发明实施例中,获取将要合并的多个补丁,并解压,解压后便于获取补丁文件的类型。作为本发明的一个实施例,将保留的补丁文件打包为新的补丁前,应针对补丁中不同的辅助文件类型,定义不同的处理方法接口,处理补丁中的辅助文件。保留下来的补丁文件中除了最常见的修复功能文件,还有一些辅助文件,如配置文件、数据库脚本、参数控制文件、说明书等。其中,修复功能文件和辅助文件都属于补丁文件,补丁中的文件需要共同使用才能正常生效。具体的实现过程由提交辅助文件的人负责实现,这样,每当增加一些辅助文件时,都可以得到快速的处理。
实施例二:图2示出了本发明实施例提供的补丁文件的自动合并装置的结构,为了便于说明,仅示出了与本发明实施例中相关的部分。该自动合并补丁装置可以用于各种具备补丁文件的自动合并功能的通信终端,例如可视电话、移动电话、口袋计算机(Pocketxa0Personalxa0Computer,PPC)、个人数字助理(Personalxa0Digitalxa0Assistant,PDA)等中,可以是运行于这些通信终端内的软件单元,也可以作为独立的挂件集成到这些通信终端中或者运行于这些通信终端的应用系统中,其中:判断文件类型单元201,用于判断待合并的多个补丁文件的类型;获取保留补丁文件单元202用于根据判断文件类型单元201判断的待合并的多个补丁文件的类型,采用相应的比较算法,获取保留的补丁文件;打包补丁单元203,用于将获取保留补丁文件单元202获取的保留的补丁文件重新打包为一个新的补丁。本发明实施例中,如果合并的补丁中存在多个相同的补丁文件,则根据补丁文件类型的不同,采用不同的比较算法,仅保留其中的一个补丁文件,并将所有保留下来的补丁文件打包为一个新的补丁,有效减少补丁的文件数量,节省了用户下载、安装补丁的时间。
实施例三:图3示出了本发明实施例提供的补丁文件的自动合并装置的结构,为了便于说明,仅示出了与本发明实施例中相关的部分。解压补丁单元301,用于获取待合并的多个补丁,并根据所述获取的多个补丁的压缩规则,解压所述补丁;判断文件类型单元302用于从解压补丁单元301解压补丁后的补丁文件中,判断待合并的多个补丁文件的类型;获取保留补丁文件单元303用于根据判断文件类型单元302判断的待合并的多个补丁文件的类型,采用相应的比较算法,获取保留的补丁文件;打包补丁单元304,用于将获取保留补丁文件单元303获取的保留的补丁文件重新打包为一个新的补丁。本发明实施例中,将压缩的补丁根据压缩规则进行解压,便于获取补丁文件的类型。作为本发明的一个实施例,打包补丁单元304还包括存储补丁单元3041、打包目录单元3042。其中,存储补丁单元3041用于将获取的保留的补丁文件存储在一个目录中,打包目录单元3042,用于重新打包目录下的补丁文件。作为本发明的一个实施例,打包补丁单元304将获取的保留的补丁文件重新打包为一个新的补丁前,根据补丁中辅助文件类型的不同,使用配置接口单元305配置不同的处理方法接口。在所有的辅助文件处理完毕后,将所有保留下来的补丁文件按照其所处的原补丁的格式重新打包为一个新的补丁。本发明实施例,通过判断各个补丁文件的类型,并根据相应的补丁文件类型,采用不同的比较算法,选择需要保留的补丁文件,最后将所有保留下来的补丁文件重新打包为一个新的补丁,有效减少补丁的文件数量,节省了用户下载、安装补丁的时间。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。